This invention relates to a communication exchange system of stored program control type, which is particularly suitable for an exchange operation of comparatively small scale.
The industrialized society is now advancing into the post-industrial society, so that information is one of the indispensable elements in our daily life just like substances and energy, and there is an increasing demand for quick and accurate collection, transmission, processing, and storage of the information. In the field of communication, which is a means for collecting and transmitting the information, the demand for picture communication and data communication is ever increasing, so that there is a need for the so-called "comprehensive communication network", which is, for instance, a telephone system combined with associated services, such as telegraph, picture transmission, facsimile, and other services.
With conventional communication networks, it has been a general practice to use a switching system or an exchange system of full common-control type, typically the crossbar exchange system, for selectively connecting communication terminal devices. The crossbar exchange system consists of a speech-path network for connecting communication terminal devices and a common controller controlling the network, so that the common controller logically processes selection signals from the calling terminal devices and controls various switches of the speech-path network so as to establish the required speech-path, through which the two parties at opposite terminals of the speech-path communicate.
The control of the conventional communication exchange system, as typified by the crossbar exchange system, is carried out by the so-called wired logic control system. The common controller of the wired logic system uses electromagnetic switches in the main, especially relays, as logic elements, and the different logic elements are interconnected by wiring so as to form various specialized circuits having specific functions. Accordingly, in the switching or exchange operation, the common controller causes the various specialized circuits to fulfil the specific logical operations so as to process selection signals from terminal devices, whereby, the desired speech-path is established through the control of the speech-path network.
If, however, one desires to modify the functions of the communication exchange system of the wired logic type or to add new functions thereto, it is necessary to actually modify the wiring at the related portions or to actually add necessary specialized circuits for the new functions. The work for such modification of the wiring and such addition of the specialized circuits not only results in the temporary interruption of the exchange service during the work, but also requires a considerable amount of skilled labor. Accordingly, the conventional communication exchange systems are comparatively inflexible and inefficient.
As industrialized society advances further into the post-industrial society, an extremely large amount of information is transmitted through communication networks, so that the communication industry is now confronted with the need for technological innovation, both quantitatively and qualitively. Accordingly, for a communication exchange system in a qualitively innovated comprehensive communication system, the capability of mere switching operation is not sufficient, and it is required to fulfill various new services for ensuring smooth social and economic activities, especially different kinds of data processing services. In this respect, the aforesaid conventional communication exchange system of wired logic control type is too rigid to meet the various needs of the new age. To mitigate such difficulties of the conventional exchange systems, it has been proposed recently to use a more flexible communication exchange system which is based on the techniques of the stored program control system. Rapid progress in semiconductor technology has produced various high-speed circuit elements, e.g., transistors and integrated circuits (IC), and their availability at low cost has enabled the development of the stored program control system. In developing a communication exchange system based on the stored program control system, notice should be taken of the fact that various exchange processes, such as the detection of the calling subscriber, the pulse counting, and the code conversion, etc., can be accomplished essentially by different combinations of fundamental logical operations, namely, the addition, the substraction, the logical sum, the logical product, and so on. A common controller is formed by using only those fundamental circuits which execute the fundamental logical operations, and the exchange process, e.g., the detection of the calling subscriber, is carried out by switching the fundamental circuits at a high speed in a logical sequence adapted for the specific exchange process. Thus, each of the fundamental circuits is repeatedly used in common for carrying out the different exchange processes.
As apparent from above, the communication exchange system based on the stored program control system replaces the logical wiring of the conventional communication exchange system of wired logic type, which wiring connects various fundamental circuits so as to form specialized circuits suitable for carrying out the desired exchange process, with a program consisting of pre-arranged instructions for switching various fundamental circuits in a sequence corresponding to each of the desired exchange processes. More particularly, the aforesaid program is stored in a memory, and in order to carry out an exchange process, the program necessary for the process is read out from the memory so as to quickly switch some of the various fundamental circuits by the instructions of the program in a predetermined sequence for executing the exchange process. Accordingly, with the stored program control system, the modification and addition of the exchange process functions can be accomplished simply by modifying and adding the program, without making any change in the hardware, such as change in the wiring and the addition of specialized circuits and the like. Whereby, a communication exchange system with a high flexibility can be provided by using the stored program control system.
The stored program control system has been developed and practiced in the field of digital computers, for the purpose of general data processing. The communication exchange process is a kind of data processing operation which consists of receiving input information from the subscriber line circuits and transit trunk lines, determining the necessary switching operations based on the input information and the related information such as busy-idle status of the speech-paths and the like, and editing the output information in the form of instructions controlling the speech-paths and related circuits. Accordingly, the communication exchange process based on the stored program control system is essentially similar to operation in the general data processing.
There are, however, unique requirements in the communication exchange process; namely, the very strict requirement for real time operation, the time-divisional multiple process functions of high order, and the complete elimination of total system outages caused by element failures.
As regards the real time operation, it may be safely said that there is no communication exchange system which can be dealt with by batch processing, and every communication exchange operation must be quickly and accurately carried out on a real time basis. For instance, all the input information, such as the call information from a calling subscriber and selection signals, occur irrespectively of the control of the communication exchange system, and such input information is applied to the exchange system quite irrespectively of the operational stage of the communication exchange process. To ensure proper communication exchange processing, loss of any input information is never allowed. In addition, the switching of the called subscriber line to the busy status upon his response and the restoration of his line upon detection of the end of the talk must be completed within a predetermined time. Thus, very strict real time operation is required.
As regards the multiple process function, of all the subscribers of a telephone exchange system, it is generally said that about 10% of them are in talking or busy status, and about 1% of them are in the stage of sending selection signals, so that there are hundreds of subscribers who are requesting the exchange process at a time. If all such requests are processed by a program which is generally used in regular data processing, the memory necessary for it will become huge and its overhead time will become very long, so that the process will become too costly to be practical. Accordingly, in order to process the simultaneously occurring requests from a large number of terminal devices in a quick and economical fashion, time-divisional multiple process functions of high order must be developed.
As regards the reliability or service continuity, the communication exchange system, as exemplified by the telephone exchange system, is never allowed to have a total system outage, because of its social importance. On the other hand, the subscribers who operate the terminal devices are not necessarily specially trained for the operation, so that false operations frequently take place. Besides, there are a large number of speech-paths to be controlled, so that it is reasonable to assume that troubles occur rather frequently in the speech-paths. Accordingly, the program for the stored program control system must be highly stable with such a configuration that, in case of false operation by the subscriber, the subscriber is immediately notified of his false operation, while in the case of troubles in the speech-paths or the like, the troubles do not affect the continuous regular processing of the subscriber's call for service. In the case of any trouble in the common controller where various control functions are highly concentrated, proper countermeasures for it must be taken immediately to prevent the occurrence of a total system outage.
To meet the aforesaid strict requirements, the communication exchange system based on the stored program control system is provided with the following features: namely, the exchange process is controlled by three programs, i.e., a call-processing program which executes various stages of processing the call; an execution-controlling program which controls the sequence of executing the different processes; and a fault-processing program which interrupts the exchange operation at any stage thereof so as to counteract against troubles.
The call-processing program consists of a number of subprograms which are designed to execute different kinds of work corresponding to the different stages of the call process in the exchange operation, such as a call-detecting program, a call-data-analyzing program, a trunk-selecting program, a dial-pulse counting program, a dial-pulse-information-storing program, a digit-analyzing program, and the like. The aforesaid programs are classified into the following three levels, depending on the difference in the level of requirement for real time operation: namely, H (standing for high) level programs which meet a very high requirement for real time operation, such as the dial-pulse-counting program and a DPCT (standing for depict) input side supervisory program; L (standing for low) level programs which meet a comparatively low requirement for the real time operation, such as the trunk-selecting program and the dial-pulse-information-storing program; and B (standing for base) level programs to which the requirement for real time operation is equal to or less than that for L level, such as the call-detecting program, the call-data-analyzing program, and the digit-analyzing program. The aforesaid different kinds of work are processed in groups in a periodic fashion, and the different kinds of work are recorded in a time table in which different "time scales" are assigned to the different levels; for instance, 4 mS (millisenconds) for the H level, 4 mS and 100 mS for the L level, and 100 mS, 1 second, and 1 minute for the B level.
The execution-controlling program controls the sequence in which the aforesaid subprograms of the call-processing program are executed, by using the interruption function which is provided by means of hardware. For instance, the executing sequence of the subprograms of the call-processing program, which are recorded in the time table, is controlled in the order of H level -- L level -- B level, by causing the interruptions through use of the interruption function based on the clock singals generated at a period of 4 ms. More particularly, the control is at first effected in the H level by means of the clock interruption so as to successively execute those subprograms of the call-processing program which execute the different kind of work recorded in the H level portion of the time table, and upon completion of the different kind of work of the H level, the control shifts to the L level so as to similarly execute the different kinds of work of the L level, and then, the control is shifted to the B level so as to execute the different kinds of work grouped therein. In the course of executing the different kinds of work in the aforesaid sequence, if the aforesaid clock interruption occurs when the call program is executing the call-processing program in the operational stages of the L level or the B level, the process under execution is temporarily halted and the control is shifted to the H level, so that the process execution is started again in the order of H level -- L level -- B level. In this case, the temporarily halted call-processing program resumes its process starting from the aforesaid point where it was halted, upon completion of the different kinds of work in the H level. Besides, if the H level process takes a long time and the aforesaid clock interruption occurs before completing the H level process, the clock interruption is inhibited due to the nature of the different kinds of work of the H level, so as to continue the process being executed.
The normal exchange operation of the communication exchange system based on the stored program control system efficiently processes a large number of simultaneously occurring requests, without sacrificing the strict real time operation, by periodically and effectively using various call-processing programs through the execution-controlling program.
In the case where a fault has occurred, if the nature of the fault is such that a total system outage may be caused, e.g., a fault in the common devices or a fault caused by erroneous programming, an interruption is effected at the moment of detecting such fault in preference to all the call-processing work at all stages, so as to start the aforesaid fault-processing program. The execution of the fault-processing program causes the execution of a series of processes in a very short time period, which include the identification of the faulty device, the switching from the faulty device to a spare device therefor and the resumption of the service, and at the same time, maintenance personnel are notified of the occurrence of the fault. On the other hand, if the fault which has occurred is not too serious and is not directly related to a total system outage, e.g., an unsatisfactory operation of SP (standing for speech) devices or 10 (standing for input/output) devices, such fault is processed by a part of the call-processing program. Thus, the service continuity of the communication exchange system is effectively maintained.
A practical example of such communication exchange system based on the stored program control system will now be explained, by referring to the call-connecting operation and the connection of subscribers served by a common central office.
When a call is originated by a calling subscriber, the call is detected by scanning the subscriber line circuits, which scanning is controlled by the call-detecting program executed at a period of 200 mS in the B level. More particularly, the result of the current scanning is compared with the result of the last scanning stored in the memory, so as to detect any change in the status for identifying the calling subscriber. When the originated call is thus detected, the address information relating to the storing area of the magnetic drum which stores the subscriber information of the calling subscriber is found by using an interpretation table, based on the storing-location information of the calling subscriber which is obtained from the bit position where the status change occurred, and a request for reading the magnetic drum is sent out. This request is stored, as a rule, in a memory called an MD (standing for magnetic drum) transaction, and the request waits for the process of reading the magnetic drum.
The process for controlling the magnetic drum is started in the L level at a period of 4 mS, and if there is any queuing MD transaction, the process is started following it. More particularly, the subscriber information of the calling subscriber is read out from the predetermined storing area of the magnetic drum, based on the aforesaid address information, and stored at a predetermined location of the MD transaction, and at the same time, the completion of the process is displayed. The MD transaction which has completed the reading of the magnetic drum is connected to a queuing row, and the control is shifted to a calling-subscriber-analyzing process.
The calling-subscriber-analyzing process is executed at the B level, without any predetermined period, so as to determine the next task to be executed on the basis of the subscriber information read out of the magnetic drum. More particularly, the task of selecting one of the predetermined call-register-trunks, e.g., an individual DP (standing for digital pulse) originating register trunk, is selected, and the process is transferred to the task thus selected. The program for executing the task is dealt with in the B level without any predetermined period, as in the case of the aforesaid analyzing program, and performs two selections; namely, the selection of an idle individual DP originating register trunk by referring to the content of a memory called trunk memory, and the selection of a speech-path between the calling subscriber and the individual DP originating register trunk thus selected on the basis of the link busy-idle information recorded on the map. Upon completion of selecting the speech-path, a speech-path control instruction is edited for connecting the calling subscriber to the register trunk selected, and after storing the instruction in the transaction memory the program waits for the execution of the speech-path control.
The program for processing the speech-path control is executed in the L level at a period of 16 mS. In executing the process, the transaction memory connected to a queuing row is read out, and the control instruction is sent to the speech-path controller in three executing periods, which executing periods are determined by considering the operating times of the crossbar switch and the relays. The speech-path controller controls various speech-path devices based ont he speech-path control instruction, so as to connect the aforesaid calling subscriber to the selected individual DP originating register trunk, whereby, the calling subscriber receives the dial tone.
When the calling subscriber sends out dial pulses after hearing the dial tone, the dial pulses are processed by the dial-pulse-counting program which is executed at the H level at a period of 8 mS. More particularly, the aforesaid individual DP originating register trunk connected to the calling subscriber is scanned each time the aforesaid program is executed, so as to detect the status change by group processing, and the status change thus detected, e.g., the pulse fall, is counted and stored in the supervisory memory.
The dial pulses, which are stored in the supervisory memory be the execution of the dial-pulse-counting program, are supervised or monitored by the DPORT (standing for digital pulse originating trunk) digit-storing program which monitors the result of the counting, the last look, and the result of scanning, so as to identify the inter-digit intervals of the dial pulses and to find out any termination of the call without completing the dialling. When the inter-digit interval is identified, the count information of the dial digits is stored in the trunk memory digit by digit by the aforesaid program, and after receiving and storing the predetermined number of digits, the information is stored in the hopper, and the program waits for the digit-analyzing process. The digit-analyzing program is executed at the B level in a non-periodic fashion so as to perform the following work: namely, identifying and selecting a speech-path by using the aforesaid dial information and the subscriber information stored in the trunk memory; determining the sequence of the next tasks to be executed; and transferring the control to the program for executing the tasks thus selected. The establishment of the speech-path is accomplished in a manner similar to the aforesaid connection of the calling subscriber, through the selection of the trunk and the speech-path and editing of the speech-path control instruction.
As explained above, with the communication exchange system based on the stored program control system, none of the trunks or the like devices have any particular logical processing functions except the very simple single function like the transit of information and the supply of speech-carrying current, while, a common controller consisting of a high class processor of high-speed multiple-instruction type is provided, which determines the executing sequence of the call-processing program having subprograms of differently classified levels by means of the execution-controlling program having functions of interruption analysis, level control, wait control, and the like, whereby, the communication exchange process is executed by group-processing each of the subprograms while meeting the real time requirement. Accordingly, the processor and the programs of such communication exchange system must have all the aforesaid functions, regardless of the number of circuits served by the system, so that in the case of a communication exchange system serving a comparatively small number of circuits, the stored programm control system has not been practical because of its high cost due to the comparatively large number of jobs per circuit.